Wersja dla HDD:

18.08.2002
Zmiany:
1. Głupi błąd powodował problemy z kompilacją ostatniej wersji softu przy zastosowaniu 4 wierszowego wyświetlacza LCD. Poprawiono.

Pobierz: MIS_yampp_020818.zip


07.08.2002
Zmiany:
1. Dodano kolejne dwa standardy pilotów: SONY15 i Philips RC-5.
2. Zmieniono definiowanie typu pilota. Od teraz każdy pilot posiada swój własny plik z definicją kodów znajdujący się wewnątrz katalogu "REMOTES". Żeby wybrać model pilota wystarczy skopiować właściwy plik z katalogu "REMOTES" do katalogu z plikami źródłowymi oprogramowania i zmienić jego nazwę na "remote.def". Następnie wystarczy przekompilować program i gotowe.
3. Dodano automatyczne rozpoznanie standardu w jakim nadaje dany pilot podczas procedury definiowania kodów. Teraz można ustawić kody pilota nawet bez podłączonego dysku. Po uruchomieniu procedury definiowania kodów wystarczy kilkakrotnie nacisnąć dowolny przycisk na pilocie a wówczas yampp rozpozna i wyświetli standard Twojego pilota.
4. Dodano definicje dla dwóch nowych modeli pilotów: od karty tunera TV - FLY VIDEO oraz popularny RC26 (w standardzie RC5).
5. Dodano opcję dla innego sposobu działania klawisza "PREVOUS" (działa jak w innych odtwarzaczach CD).
6. Poprawiono procedury ATA.
7. Dodano opcję wyświetlania czasu pozostałego do końca utworu ("Remain Time"). Pokazuje poprawny czas jedynie dla plików MP3 skompresowanych na 128kbps. Jeśli chcesz skorzystać z tej opcji i posiadasz wyświetlacz 4 liniowy musisz wyłączyć jakąś inną opcję żeby uzyskać trochę miejsca na dodatkowy kod.
8. Usunięto wieszanie się yamppa ("Loading..." na wyświetlaczu) przy załączonej opcji "FAST LOAD" i niepoprawnej organizacji katalogów i plików na dysku.
9. Dodano opcję "CHECK_FILESIZE" dla usunięcia występujących czasem problemów z obcinaniem końcówek utworów.


26.07.2002
Zmiany:
1. Zmiany w procedurach obsługi IDE. Teraz yampp powinien współpracować z większą ilością modeli dysków, oraz poprawiono problemy z komunikacją z HDD.


21.07.2002
Zmiany:
1. Duże zmiany w procedurach odczytu pliku MP3 z dysku oraz jego wysyłania do VS1001 mające na celu przyspieszenie działania oraz spore zmniejszenie długości kodu.
2. Dodano skrolowanie nazwy katalogu na 4 liniowych wyświetlaczach LCD.
3. Dodano centrowanie wyświetlania nazwy katalogu jeśli jej długość jest mniejsza niż rozmiar wyświetlacza (na 4 liniowych LCD).
4. Poprawiono błąd wyświetlania dla 4x16 LCD.
5. Ładniejszy wskaźnik głośności na wyświetlaczach o długości linii większej niż 16 znaków.
6. Poprawiono błąd przypadkowego zawieszania się yamppa przy szybkim przewijaniu do przodu poza koniec utworu.


14.07.2002
Zmiany:
1. Dodano obsługę kilku nowych typów wyświetlaczy LCD. Teraz yampp powinien działać z wyświetlaczami o organizacji: 2x16, 2x20, 2x24, 4x16, 4x20. Wyboru można dokonać w pliku Constants.h .
2. Jeżeli cały tekst scrolla zmieści się na wyświetlaczu to nie jest on skrolowany (na wszystkich typach LCD).
3. Usunięto sygnaturkę " >> " jeśli tekst nie wymaga skrolowania.
4. Usunięto znak "/" na końcu nazwy katalogu na 4 liniowych wyświetlaczach LCD.
5. Usunięto możliwość wyłączenia nawigacji "Directory navigation". Jest ona wymagana przez nową procedurę Random i musi być zawsze włączona.
6. Kolejna optymalizacja kodu, żeby uzyskać kolejnych kilka bajtów wolnego miejsca.
7. Zmieniony pasek postępu. Jeśli komuś nie odpowiada nowy wygląd to może powrócić do starego poprzez zakomentowanie #define PROGRESBAR_II w sekcji LCD z pliku Constants.h .
8. Dodano opcję umożliwiającą wykorzystanie wolnego pinu PD4 procesora jako wyjścia sygnału RESET dla VS1001 i interfejsu IDE. Wymaga to niewielkiej modyfikacji płytki yamppa (dwa cięcia ścieżek i dwa dodatkowe połączenia przewodem).


09.07.2002
UWAGA !! WERSJA EKSPERYMENTALNA !!!

Zmiany:

1. Poprawiono błąd obcinający pierwszy znak nazwy katalogu na LCD 4x20.
2. Poprawiono błąd "przekręcania się" paska postępu przy odtwarzaniu bardzo długich plików MP3.
3. Dodano funkcje random wewnątrz jednego katalogu (tak jak w sofcie dla CD-ROM). Udało się to jedynie przy pomocy duuużej optymizacji kodu, przepisaniu kilku funkcji w asemblerze oraz zastosowaniu kilku innych trików. To spowodowało EKSPERYMENTALNY status tej wersji ponieważ musiałem dokonać zmian w wielu miejscach programu, i nie jestem pewien czy to zadziała z wszystkimi możliwymi konfiguracjami sprzętu. Jeżeli twój HDD nie chce wystartować spróbuj załączyć opcje "CHS_ACCES_FIRST", lecz wymaga to wyłączenia jakiejś innej opcji (np.: Fast Rewind czy Number Navigation) żeby uzyskać trochę miejsca na dodatkowy kod.


25.06.2002
Zmiany:
1. Poprawiono błąd powodujący zamazywanie trzeciej linii wyświetlacza LCD (na wyświetlaczach 4x20).
2. Optymalizacja długości kodu procedur obsługi LCD.
3. Drobne zmiany w procedurach wysyłania danych MP3 do VS1001.


22.06.2002
Zmiany:
1. Niewielkie zmiany w procedurze resetującej układ VS1001.
2. Dodano sprawdzanie czy vs1001 nie zresetował się samoczynnie (jeżeli dane MP3 zawierały śmieci) - to powodowało samoczynną zmianę szybkości odtwarzania jeśli zastosowano kwarc inny niż 12.288 lub 24.576 MHz. Jeżeli taka sytuacja nastąpi oprogramowanie spróbuje wysłać komendę "soft-reset" do vs1001 co przywraca zawartość rejestru CLOCKF.
3. Rozszerzona funkcja random. Nigdy nie usłyszysz dwukrotnie tego samego utworu jeśli nie zostaną odtworzone wszystkie dostępne utwory.
4. Kilka mniejszych poprawek i optymalizacji długości kodu.


11.06.2002
Zmiany:
1. Ta wersja obsługuje zarówno standardowego yampp'a-3 jak i NOWĄ wersję odtwarzacza - yampp-3/USB.
   W tej wersji programu port USB nowego yamppa nie jest wykorzystany, i nowy odtwarzacz działa jak standardowy yampp-3.
   Ponieważ nowa wersja yamppa zaopatrzona została w procesor Atmega161, kompilacja pod nową wersję musi być poprzedzona poprzez
   odkomentowanie definicji "#define YAMPP3USB" w pliku Constants.h ORAZ poprzez zmianę typu procesora w pliku "makefile".
   Wyboru typu procesora można dokonać poprzez wybór jednej z poniższych definicji (w "makefile"):
   MCU = at90s8515 or MCU = atmega161
   Uwaga. W pliku "makefile" znak komentarza to # , a nie // !!!
   Mając do dyspozycji procesor Atmega161 można załączyć większość (lub wszystkie) funkcje programu ponieważ posiada on dwa razy więcej pamięci na kod.
2. Wszystkie zdefiniowane w programie teksty są teraz wyświetlane z pamięci flash, a nie z ich kopii trzymanej w pamięci RAM procesora. To powinno rozwiązać problemy z załączeniem uarta i trybem "easy remote codes setup".
3. Polecenie "make" tworzy dodatkowo plik "yampp3.bin" używany przez program "yboot" czyli "USB code downloader".
POPRAWKA 13.06.2002
Mały błąd w procedurze odbioru z uarta powodował brak odbioru komend z uarta w wersji yampp-3/USB (dzięki Jesper !)
Proszę pobrać poprawioną wersję kodu.


05.06.2002
Zmiany:
1. Poprawiono błąd występujący w wersjach z dnia 4.5.2002 i 24.5.2002 polegający na wysyłaniu na wyjście audio sygnału w przeciw fazie.
2. Zmiany w pliku definiującym rozkazy pilota (rec80.h). Teraz każdy model pilota posiada dodatkowo definicję standardu kodów. Jeśli chcesz wykorzystać swoje definicje rozkazów to nie podmieniaj w całości nowego pliku rec80.h !!!
3. Poprawiono wyświetlanie kodów w trybie "easy remote codes setup" na wyświetlaczach LCD 4x20 znaków.


24.05.2002
Zmiany:
1. Poprawiono bezpośredni wybór numeru utworu oraz zwiększono opóźnienie podczas odczytu klawiszy numerycznych.
2. Dodano obsługę wyświetlaczy LCD o organizacji 4x20. Wystarczy zmienić definicję LCD_LINES i pliku Constants.h, skompilować ponownie kod i cieszyć się czteroliniowym wyświetlaczem !
Organizacja czterowierszowego wyświetlacza:
linia 1 - Nazwa katalogu
linia 2 - Nazwa pliku , przewija się jeżeli jest dłuższa niż 20 znaków
linia 3 - Pasek postępu + czas utworu
linia 4 - Numer utworu + Status random + Status loudness + wskaźnik głośności
Niestety nie posiadam takowego wyświetlacza (choć dzięki Darkowi kod jest wstępnie przetestowany) wiec jeśli coś jest nie tak to proszę o maila.


04.05.2002

Zmiany:
1. Dodano informacje o rozmiarze klastra jeżeli jest on niepoprawny.
2. Przepisano procedury obsługi VS1001 w asemblerze  (podziękowania dla Jaspera)
3. Zmieniono metodę odczytu dysku do bufora i wysyłania danych do VS1001 (podziękowania dla TH)
4. Usunięto przyczynę wyświetlania ostrzeżenia przy kompilacji modułu lcd.c
5. Dodano dwie skompilowane wersje kodu dla kwarców 12.288 i 25.576MHz


22.02.2002
Zmiany:
1. Dodano definicje dla obsługi pilota CREATIVE_INFRACD (w pliku rec80.h) - standard NEC80.
2. Powiększono możliwości konfiguracyjne w pliku  Constants.h
3. Zmieniono procedury inicjujące player żeby zaoszczędzić na długości kodu.


18.02.2002

Zmiany:
1. Poprawiono błędy na na końcu utworów przy dużych rozmiarach klastrów.
2. Optymalizacja procedur obsługi pilota dla zmniejszenia zajętości pamięci.
3. Poprawiono komentarze i czytelność kodu źródłowego.


06.02.2002

Zmiany:
Added Sony RMD335 remote protocol. Thanks to Martin for the code.
This is thrid avaliable transmit protocol supported by yampp software.


03.02.2002

Changes:
Added trap for quickly repeated codes from some remote controlers. This problem cause  a imposibles to change random, loudnes, and direct song number entering from remote.


31.01.2002

Changes:
Edhanced easy remote codes setup.
Generally yampp support two remote transmit prococols named "REC80" and "NEC80". Rest of remote types definitions has only diffrernt codes, and use one of these protocols. If you try to setup codes, and you see on LCD only "IR:" string and flashing star, that your remote use different protocol. Try both of above general protocols (uncomment #define REC80 OR #define NEC80).
If both fail - your remote is not yampp compatibile (in current software state) :-(


29.01.2002

Changes:
1. Added direct number song entering from numeric keypad on remote controller. Simple press 2 for song no. 2,   63 for song no. 63 etc.
2. Code clearing again :-)
3. Local key definitions MOVED to "Constants.h" file !
4. Added easy remote codes setup. If you uncomment the #define SETUP_REMOTE_CODES  line in Constants.h file, you see remote codes on yampp LCD display.
    Not need to connect yampp to PC serial terminal !
5. After some optimisations GCC compiler generates a warning during compile "lcd.c" module. Its not a trouble, and you not impressed them.

Jasper also does some modifications in this code (thanks Jasper !). This is him changes.
1. Some small size optimisations
2. Added some more remote data
3. Fixed problem in calculation of FirstDataSectorD for large disks

Some Jasper optimisations causes a little problem with my LCD display, therefore i do some changes again.


26.01.2002

Changes:
1. Little code clearing.
2. Add option for propper song time display on older that "K" versions of VS1001 chip. This option is configurable in "Constants.h" file, section VS1001.
3. Fixed local keyboard procedures to avoid problems with contact vibrations.


22.01.2002

Changes:
1. Added a Fast Rewind function. Need setup its code for remote controller (in rec80.h).  Of cousre remote Fast Rewind own the repeat feature.
2. Local key association is changed. Now key layout is:
Key No.: 1 2 3 4 5 6 7 8
Short press Random Play / Pause Next Prev Next Dir Prev Dir Vol Up Vol Down
Long press Loudness Stop F. Forward F. Rewind Next 10 Prev 10 Vol Up Vol Down
3. Fixed small mistake in volume change procedures.
4. Added option in Constans.h for easy setup remote codes.
5. If VS1001 needs to more data (eg. not respond) its be soft resetted. This may help in some situations after FastForward and Rewind.
6. Added FAT16 support. Setup its in Constants.h   (thanks to Pelos for idea)
7. Solved problems with compilation warnings

To get more code space i must turn off the UART (in Constants.h). For make its avaliable agin your must turn off some other options.
Current default options:
Directory nav. ON, Letter nav. OFF, Fast forward ON, Fast Rewind ON, PowerUp beeps OFF, Show remote codes OFF, Fast file load ON, Uart OFF, FAT16 OFF.

<>ERRATA - 25.01.2001
Declarations in "Constants.h" and precompiled file "Yampp3.rom" from "MIS_yampp_020122.zip" unfortunally be configured for use FAT16 and 12.8 MHz VS1001 crystal.
Wrong FAT type declaration cause that your yampp hang up on "Loading..." message on LCD.
Now configuration is revert to FAT32 and 24.576 Mhz, and new rom file is generated. Name still unchanged.
Unfortunally only 4 and 8 KB cluster sizes is usable on FAT16 disks.


20.01.2002

Changes:
1. Added autorepeat on remote controller keys: Volume Up/Down and Fast Forward. (Ufff, finger... :-)
2. Small modification to song time display. Now it counting up to 99 min.
3. Little code clearing.


15.01.2002

Current features:

1. Improved song navigation
- Skip to next directory or prevous directory, and/or next/prevous letter
- Fast Forward function.
- In random mode keys "Next" and "Previous" do randomize.

2. Improved display function
- Displaying actual folder name on LCD and UART
- Improved progress bar

3. Other changes
- HDD spindown after "Stop" ( yes!!!!! , Silence !)
- Stored autoplay status (flags) in eeprom
- HDD spindown after file scanning if autoplay is not setted on power up
- Added option for remove three beeps after power up (to save code space)
- Faster repeat on Volume keys
- Clear display after song ends, now working properly :-)
- Fixed problems on end of song play.
- Showing remote codes on terminal now configurable in Constants.h (on/off)
- Fast song load inside one directory. This function is experimental, and configurable  in Constants.h, because needed propertly arranged file on disk (no mp3 in root directory)  Very cool function on slow and/or big harddisk with many mp3 files.

Most of  new features can be enabled or disabled in Constants.h file.


Additional informations:
Code size is near the top of flash capacity we have to choose between some configurable options in Constants.h to get code size less than 0x2000 (or 8192 decimaly). Code size is shown after compilation in last line (dec, hex).

Default options:  Directory nav. ON, Letter nav. OFF, Fast forward ON, PowerUp beeps OFF, Show remote codes OFF, Fast file load ON.

Rom file is compiled for 7.372MHz yampp-3 and 24.576MHz VS1001 clock. Recompile this code needs AVR-GCC 3.0 or later.

VS1001K decoder chip version is recommended for this code. On older chip versions may appear some problems with fast forward function.


Questions and bug reports send to:  romek_b@o2.pl

Return to main page